﻿namespace FunctionalCLR.Core {
    public interface IContext {

        object AddVariable(object var);

        object GetVariableByName(object value);

        object[] GetAllVariables();

        object Assign(object variableName, object value);

        void RemoveVariable(string p);

        object Evaluate(string input);

        bool HasVariable(string p);

        IParserFactory GetParserFactory();

        IFunctionManager GetFunctionManager();
    }
}
